home *** CD-ROM | disk | FTP | other *** search
/ IRIX Base Documentation 2002 November / SGI IRIX Base Documentation 2002 November.iso / usr / share / catman / p_man / cat3 / il / ilPropSet.z / ilPropSet
Encoding:
Text File  |  2002-10-03  |  8.4 KB  |  199 lines

  1.  
  2.  
  3.  
  4. iiiillllPPPPrrrrooooppppSSSSeeeetttt((((3333))))       IIIImmmmaaaaggggeeeeVVVViiiissssiiiioooonnnn LLLLiiiibbbbrrrraaaarrrryyyy CCCC++++++++ RRRReeeeffffeeeerrrreeeennnncccceeee MMMMaaaannnnuuuuaaaallll       iiiillllPPPPrrrrooooppppSSSSeeeetttt((((3333))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      iiiillllPPPPrrrrooooppppSSSSeeeetttt - a collection of properties
  10.  
  11. IIIINNNNHHHHEEEERRRRIIIITTTTSSSS FFFFRRRROOOOMMMM
  12.      - base class
  13.  
  14. HHHHEEEEAAAADDDDEEEERRRR FFFFIIIILLLLEEEE
  15.      #include <il/ilPropSet.h>
  16.  
  17. CCCCLLLLAAAASSSSSSSS DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
  18.      The iiiillllPPPPrrrrooooppppSSSSeeeetttt class is an abstract class for managing collections of
  19.      properties (name/value pairs).  Essentially, an iiiillllPPPPrrrrooooppppSSSSeeeetttt object is an
  20.      associative memory that allows one to store and retrieve values indexed
  21.      by a name.  An iiiillllPPPPrrrrooooppppSSSSeeeetttt object contains a set of iiiillllPPPPrrrrooooppppeeeerrrrttttyyyy objects as
  22.      elements.  Each element is identified by the address of the iiiiffffllllNNNNaaaammmmeeee
  23.      object associated with the property.  Methods are provided to access the
  24.      value of a property given a pointer to an iiiiffffllllNNNNaaaammmmeeee object as a key, store
  25.      a value under an iiiiffffllllNNNNaaaammmmeeee pointer key, and remove a property.  Two
  26.      subclasses of iiiillllPPPPrrrrooooppppSSSSeeeetttt are also provided, iiiillllPPPPrrrrooooppppLLLLiiiisssstttt and iiiillllPPPPrrrrooooppppTTTTaaaabbbblllleeee,
  27.      which implement the abstract class as a linked list (inherits iiiiffffllllLLLLiiiisssstttt)
  28.      and as a hash table (inherits iiiiffffllllHHHHaaaasssshhhhTTTTaaaabbbblllleeee), respectively.  In general,
  29.      one should use iiiillllPPPPrrrrooooppppLLLLiiiisssstttt if the number of properties is small or memory
  30.      efficiency is important. The iiiillllPPPPrrrrooooppppTTTTaaaabbbblllleeee class should be used when
  31.      efficient access is desired even when there are a large number of
  32.      properties in the set.  To iterate over the contents of a property
  33.      collection, use the appropriate inherited methods from iiiiffffllllLLLLiiiisssstttt or
  34.      iiiiffffllllHHHHaaaasssshhhhTTTTaaaabbbblllleeee.
  35.  
  36. CCCCLLLLAAAASSSSSSSS MMMMEEEEMMMMBBBBEEEERRRR FFFFUUUUNNNNCCCCTTTTIIIIOOOONNNN SSSSUUUUMMMMMMMMAAAARRRRYYYY
  37.      CCCCoooonnnnssssttttrrrruuuuccccttttoooorrrr
  38.  
  39.           ilPropSet()
  40.  
  41.      QQQQuuuueeeerrrryyyy
  42.  
  43.           virtual ilProperty* get(iflName* n) = 0
  44.           int getInt(iflName* n)
  45.           float getFloat(iflName* n)
  46.           void* getPtr(iflName* n)
  47.  
  48.      EEEEddddiiiittttiiiinnnngggg
  49.  
  50.           void set(iflName* n, void* p=NULL)
  51.           void set(iflName* n, int i)
  52.           void set(iflName* n, float f)
  53.           virtual void set(iflName* n, const ilPropValue& value) = 0
  54.           virtual void remove(iflName* n) = 0
  55.  
  56.  
  57.  
  58.  
  59.  
  60.  
  61.  
  62.  
  63.                                                                         PPPPaaaaggggeeee 1111
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. iiiillllPPPPrrrrooooppppSSSSeeeetttt((((3333))))       IIIImmmmaaaaggggeeeeVVVViiiissssiiiioooonnnn LLLLiiiibbbbrrrraaaarrrryyyy CCCC++++++++ RRRReeeeffffeeeerrrreeeennnncccceeee MMMMaaaannnnuuuuaaaallll       iiiillllPPPPrrrrooooppppSSSSeeeetttt((((3333))))
  71.  
  72.  
  73.  
  74. FUNCTION DESCRIPTIONS
  75.      iiiillllPPPPrrrrooooppppSSSSeeeetttt(((())))
  76.  
  77.           ilPropSet()
  78.  
  79.  
  80.           It is not possible to construct objects of class iiiillllPPPPrrrrooooppppSSSSeeeetttt because
  81.           it is a pure virtual class.
  82.  
  83.      ggggeeeetttt(((())))
  84.  
  85.           virtual ilProperty* get(iflName* n) = 0
  86.  
  87.  
  88.           Retrieve the property associated with the iiiiffffllllNNNNaaaammmmeeee pointer _n. The
  89.           test for identity is based on the value of the pointer, not on the
  90.           character string associated with the name.  If no such property is
  91.           defined, then _N_U_L_L is returned.
  92.  
  93.      ggggeeeettttFFFFllllooooaaaatttt(((())))
  94.  
  95.           float getFloat(iflName *n)
  96.  
  97.  
  98.           Return the property value associated with the iiiiffffllllNNNNaaaammmmeeee pointer _n
  99.           interpreted as a float.  If no such property exists, then _0 is
  100.           returned.
  101.  
  102.      ggggeeeettttIIIInnnntttt(((())))
  103.  
  104.           int getInt(iflName *n)
  105.  
  106.  
  107.           Return the property value associated with the iiiiffffllllNNNNaaaammmmeeee pointer _n
  108.           interpreted as an integer.  If no such property exists, then _0 is
  109.           returned.
  110.  
  111.      ggggeeeettttPPPPttttrrrr(((())))
  112.  
  113.           void* getPtr(iflName *n)
  114.  
  115.  
  116.           Return the property value associated with the iiiiffffllllNNNNaaaammmmeeee pointer _n
  117.           interpreted as a pointer.  If no such property exists, then _N_U_L_L is
  118.           returned.  Note that it is not possible with this method to
  119.           distinguish the case that the property does not exist from the case
  120.           that it does exist but has value _N_U_L_L.  In order to distinguish
  121.           these two cases, use the ggggeeeetttt method.
  122.  
  123.      rrrreeeemmmmoooovvvveeee(((())))
  124.  
  125.  
  126.  
  127.  
  128.  
  129.                                                                         PPPPaaaaggggeeee 2222
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136. iiiillllPPPPrrrrooooppppSSSSeeeetttt((((3333))))       IIIImmmmaaaaggggeeeeVVVViiiissssiiiioooonnnn LLLLiiiibbbbrrrraaaarrrryyyy CCCC++++++++ RRRReeeeffffeeeerrrreeeennnncccceeee MMMMaaaannnnuuuuaaaallll       iiiillllPPPPrrrrooooppppSSSSeeeetttt((((3333))))
  137.  
  138.  
  139.  
  140.           virtual void remove(iflName *n) = 0
  141.  
  142.  
  143.           Remove the property associated with _n from the property set.  If no
  144.           such property exists, do nothing.
  145.  
  146.      sssseeeetttt(((())))
  147.  
  148.           void set(iflName* n, void* p=NULL)
  149.           void set(iflName* n, int i)
  150.           void set(iflName* n, float f)
  151.           virtual void set(iflName* n, const ilPropValue& value) = 0
  152.  
  153.  
  154.           Define a new property, or redefine an existing one.  This overloaded
  155.           method has two arguments.  The first is the iiiiffffllllNNNNaaaammmmeeee pointer key _n
  156.           that is used for later retrieval of the property.  The second is the
  157.           property value and can a float, integer, pointer, or a reference to
  158.           an iiiillllPPPPrrrrooooppppVVVVaaaalllluuuueeee object.  (See the man page for iiiillllPPPPrrrrooooppppeeeerrrrttttyyyy for a
  159.           definition of iiiillllPPPPrrrrooooppppVVVVaaaalllluuuueeee.)  The last set method (the one expecting
  160.           an iiiillllPPPPrrrrooooppppVVVVaaaalllluuuueeee reference) is the one which must be defined for any
  161.           subclass of iiiillllPPPPrrrrooooppppSSSSeeeetttt.
  162.  
  163. SSSSEEEEEEEE AAAALLLLSSSSOOOO
  164.      ilProperty, ilPropList, ilPropTable, iflDictionary, iflList,
  165.      iflHashTable, ilLink
  166.  
  167.  
  168.  
  169.  
  170.  
  171.  
  172.  
  173.  
  174.  
  175.  
  176.  
  177.  
  178.  
  179.  
  180.  
  181.  
  182.  
  183.  
  184.  
  185.  
  186.  
  187.  
  188.  
  189.  
  190.  
  191.  
  192.  
  193.  
  194.  
  195.                                                                         PPPPaaaaggggeeee 3333
  196.  
  197.  
  198.  
  199.